package com.guet.niit.User.controller;

import com.guet.niit.User.pojo.Account;
import com.guet.niit.User.pojo.ChargingRecord;
import com.guet.niit.User.pojo.UserCar;
import com.guet.niit.User.service.UserService;

import java.util.ArrayList;
import java.util.Scanner;

//任务：调用UserService业务层里的方法
public class UserController {
    public static void main(String[] args) {
        UserController userController = new UserController();
        userController.Menu();
    }

    public int Menu() {
        System.out.println("---------------------");
        System.out.println("---1.充电---");
        System.out.println("---2.查看充电记录---");
        System.out.println("---3.充值---");
        System.out.println("---4.结束充电---");
//        System.out.println("---5.查看个人信息---");
//        System.out.println("---5.修改个人信息---");
        System.out.println("---5.修改密码---");
//        System.out.println("---7.上传头像、修改头像---");
        System.out.println("---------------------");
        Scanner scanner = new Scanner(System.in);
        int option = scanner.nextInt();
        UserService userService = new UserService();
        switch (option) {
            case 1:
//                ArrayList<UserCar> printInformation = userService.ReturnCarResult();
//                System.out.println(printInformation);
                break;
            case 2:
//                ArrayList<ChargingRecord> chargingRecords = userService.FindChargingRecordByUserId();
//                System.out.println(chargingRecords);
                break;
            case 3:
//                double ban = userService.ReturnBalace();
//                System.out.println("余额:" + ban);
//                Scanner sc = new Scanner(System.in);
//                System.out.println("输入充值金额");
//                double menoy = sc.nextDouble();
//                while (menoy <= 0) {
//                    System.out.println("金额不能为0，请重新输入");
//                    menoy = sc.nextDouble();
//                }
//                //                把pojo这个类new出来
//                Account account = new Account();
//                //                利用set方法把传给pojo
//                account.setBalance(menoy);
//                //                把new出来的对象当参数传给Service层的方法
//                userService.Add(account, menoy, ban);
//                //查询充值后金额不对，还是以旧的封装类的金额来算
//                double newban = userService.ReturnBalace();
//                System.out.println("充值后余额为" + newban);
                break;
            case 4:
//                double bance = userService.ReturnBalace();
//                System.out.println("余额:" + bance);
////                调用管理员充电桩查询返回服务费
//                double serviceFee = 0;
//                double subtractedResult;
//                subtractedResult = bance - serviceFee;
//                if (subtractedResult >= 0) {
//                    bance = subtractedResult;
//                    userService.updateBan(bance);
//                    return 1;
//                } else {
//                    return 0;
//                }
//                break;
            case 5:
//                System.out.println("请输入新密码");
//                String newPassword=scanner.next();
//                String currentPassword = userService.returnPassword();
//                while (currentPassword.equals(newPassword)) {
//                    System.out.println("密码相同，请重新输入");
//                    newPassword=scanner.next();
//                }
////                正则表达式检测密码强度
//                userService.updatePassword(newPassword);
                break;
            default:
                break;

        }
        return option;
    }
}
